$(function () {
    var layer = layui.layer;
    var form = layui.form;
    var laypage = layui.laypage;
    //----------------------------------------------------------------
    //  页面查询参数
    var query = {
        pagenum: 1, //页码值
        pagesize: 5, //每页显示几条数据
        lab_class_name: '', //宿舍名称
        lab_address: '', //楼栋
    }
    // 渲染分页功能
    function renderPage(total) {
        // console.log(total);
        laypage.render({
            elem: 'pageBox', //分页容器的id
            count: total, //数据总数，从服务端得到
            limit: query.pagesize, //每页显示几条数据
            curr: query.pagenum,
            layout: ["count", "limit", "prev", "page", "next", "skip"],
            limits: [5, 10, 15, 20],
            jump: function (obj, first) {
                // console.log(first);
                query.pagenum = obj.curr;
                query.pagesize = obj.limit;
                // 首行不执行
                if (!first) {
                    initLabList();
                }
            },

        });
    }
    //------------------------------------------------------------------------------
    //表单验证
    form.verify({
        num: [/^[\S]{1}$/, '哎呀！床位太多啦'],
        zhen: [/^[1-9]d*$/, '没铺给谁住呢！']
    });
    //------------------------------------------------------------------------------
    // 调用渲染宿舍列表信息的函数
    initLabList()
    //------------------------------------------------------------------------------
    // 获取所有宿舍的列表
    function initLabList() {
        var lab_class_name = $('#form_search [name = lab_class_name ]').val()
        var lab_address = $('#form_search [name = lab_address]').val()
        // console.log(lab_class_name);
        // console.log(lab_class_person);
        query.lab_class_name = lab_class_name;
        query.lab_address = lab_address;
        $.ajax({
            method: 'GET',
            url: '/my/labManage/labList/',
            data: query,
            success: function (res) {
                // console.log(res);
                var htmStr = template('tpl_lab_list', res);
                $('tbody').html(htmStr)
                renderPage(res.total)
            }
        })
    }
    //----------------------------------------------------------------
    // 获取宿舍管理员分类列表数据的方法
    function initGetAdmin() {
        $.ajax({
            method: 'GET',
            url: '/my/userinfo/getAdminList/',
            success: function (res) {
                // console.log(res);
                if (res.status !== 0) {
                    return layer.msg('获取宿舍管理员分类数据失败！');
                }
                // 调用模板引擎渲染分类可选项
                var chtmlStr = template('dialog_addLab', res.data);
                // console.log(chtmlStr);
                $('[name=lab_class_person]').html(chtmlStr);
                // 通过 layui 重新渲染表单区域的UI结构
                form.render();
            }
        });
    }
    // 获取楼栋分类列表数据的方法
    function initCateAndLab() {
        $.ajax({
            method: 'GET',
            url: '/my/deviceManage/getcateAddLab/',
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg('获取分类数据失败！');
                }
                // 调用模板引擎渲染分类可选项
                var chtmlStr = template('dialog_addLab', res.dataCate);
                // console.log(chtmlStr);
                $('[name=lab_address]').html(chtmlStr);
                // 通过 layui 重新渲染表单区域的UI结构
                form.render();
            }
        });
    }
    //----------------------------------------------------------------
    //模糊搜索需要的信息
    $('#form_search').on('submit', function (e) {
        e.preventDefault()
        initLabList();
    })
    //----------------------------------------------------------------
    // 新增宿舍dialog
    var addLab_index = null;
    $('#addLab').on('click', function () {
        addLab_index = layer.open({
            type: 1,
            area: ['400px', ''],
            title: '新增宿舍',
            content: $('#dialog_addLab').html(),
            success: function () {
                initGetAdmin()
                initCateAndLab()
                form.render();
            }
        })
    })
    // 新增宿舍函数
    $('body').on('submit', '#form_addLab', function (e) {
        e.preventDefault()
        const table_data = $(this).serialize();
        // console.log(table_data);
        $.ajax({
            method: 'POST',
            url: '/my/labManage/addLab',
            data: table_data,
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg(res.message)
                }
                initLabList()
                layer.msg('新增宿舍成功');
                layer.close(addLab_index);
            }
        })
    })
    //----------------------------------------------------------------
    // 根据id获取宿舍信息dialog
    var editLab_index = null;
    $('tbody').on('click', '.btn_editLab', function () {
        editLab_index = layer.open({
            type: 1,
            area: ['400px', ''],
            title: '修改宿舍信息',
            content: $('#dialog_editLab').html(),
            success: function () {
                initGetAdmin()
                initCateAndLab()
                form.render();
            }
        })
        var id = $(this).attr('data_id');
        // console.log(id);
        $.ajax({
            method: 'GET',
            url: '/my/labManage/labList/' + id,
            success: function (response) {
                // console.log(response.data);
                form.val('form_edit', response.data[0])
            }
        })
    })
    // 根据id修改宿舍信息
    $('body').on('submit', '#form_editLab', function (e) {
        e.preventDefault();
        const data = $(this).serialize();
        // console.log(data);
        $.ajax({
            method: 'POST',
            url: '/my/labManage/editLab',
            data: data,
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg("宿舍名称重复！请更换")
                }
                initLabList()
                layer.msg('修改宿舍信息成功');
                layer.close(editLab_index);
            }
        })
    })
    //----------------------------------------------------------------
    // 根据id删除宿舍
    $('tbody').on('click', '.btn_deleteLab', function () {
        var id = $(this).attr('data_id');
        // console.log(id);
        layer.confirm('确定删除此宿舍？', {
            icon: 3,
            title: '提示'
        }, function (deleteLab_index) {
            $.ajax({
                method: 'GET',
                url: '/my/labManage/deleteLab/' + id,
                success: function (res) {
                    if (res.status !== 0) {
                        return layer.msg(res.message);
                    }
                    layer.msg('删除宿舍成功');
                    initLabList();
                    layer.close(deleteLab_index)
                }
            })
        })

    })
})